1610 PRINT USING " ### DX Atlas Entries Loaded";N.ATL:PRINT
1620 PRINT
2000 OPEN "I",2,"MAPPER.DEF" :INPUT #2,HOME.LAT,HOME.LON,SSN,T.DRAW
2010 INPUT #2,H.TXANT,TX.POL$,GT
2020 INPUT #2,H.RXANT,RX.POL$,GR
2030 INPUT #2,PT,E.MIN:CLOSE 2
2040 SCREEN 9 :COLOR 2
2050 'RENTRY POINT
2060 CLS 0 :COLOR 2
2070 PRINT " Default Values Which Will Be Used Unless Changed"
2080 PRINT:
2090 PRINT USING " 1- Sunspot Number = ### ";SSN
2100 PRINT USING " 2- Home Latitude/Longitude = ###.# N / ####.# W";HOME.LAT,-HOME.LON
2110 PRINT USING " 3- Auto Redraw of Solar Terminator Every ### min";T.DRAW
2120 PRINT USING " 4- Home Antenna Height=###.# ft. .. \ \ Polarization .. Gain=###.# dBi";H.TXANT*3.28,TX.POL$,GT
2130 PRINT USING " 5- DX Antenna Height=###.# ft. .. \ \ Polarization .. Gain=###.# dBi";H.RXANT*3.28,RX.POL$,GR
2140 PRINT USING " 6- Home Transmitter Power Output=#### Watts";PT
2150 PRINT USING " 7- Minimum Elevation Angle=###.# deg";E.MIN
2160 PRINT
2170 PRINT " Enter (1-7) to change ... Anything else to accept";
2180 A$=INPUT$(1):N=VAL(A$):PRINT :PRINT
2190 IF N=1 THEN INPUT "Enter New Sunspot Number ";SSN:CLS:GOTO 2050
2200 IF N=3 THEN INPUT "Enter Auto Redraw Interval (Minutes)";T.DRAW:CLS:GOTO 2050
2210 IF N=4 THEN INPUT "Enter Home Ant Ht (ft), Pol (H/V), and Gain (dB)";H.TXANT,TX.POL$,GT:H.TXANT=H.TXANT/3.28:A$=LEFT$(TX.POL$,1):IF A$="H" OR A$="h" THEN TX.POL$="Hor":CLS:GOTO 2050 ELSE TX.POL$="Vert":CLS:GOTO 2050
2220 IF N=5 THEN INPUT "Enter DX Ant Ht (ft), Pol (H/V), and Gain (dB)";H.RXANT,RX.POL$,GR:H.RXANT=H.RXANT/3.28:A$=LEFT$(RX.POL$,1):IF A$="H" OR A$="h" THEN RX.POL$="Hor":CLS:GOTO 2050 ELSE RX.POL$="Vert":CLS:GOTO 2050
2230 IF N=6 THEN INPUT "Enter Home Transmit Power Output (W)";PT:CLS:GOTO 2050
2240 IF N=7 THEN INPUT "Enter Min Elevation Launch Angle (deg)";E.MIN:CLS:GOTO 2050
2250 IF N<>2 THEN 3000
2260 INPUT "Enter Home Lat/Lon (+ For North Lat and West Lon) ";HOME.LAT,HOME.LON:HOME.LON=-HOME.LON
2270 HOME.LON=HOME.LON MOD 360:IF HOME.LON>180 THEN HOME.LON=HOME.LON-360
2280 IF HOME.LON<-180 THEN HOME.LON=360+HOME.LON
2290 CLS :MAP.FLAG%=-1:GOTO 2050
3000 OPEN "O",2,"MAPPER.DEF":
3010 PRINT #2,HOME.LAT,HOME.LON,SSN,T.DRAW
3020 PRINT #2,H.TXANT;",",TX.POL$;",",GT
3030 PRINT #2,H.RXANT;",",RX.POL$;",",GR
3040 PRINT #2,PT;",",E.MIN
3050 CLOSE 2 :CLS 0
3060 IF LEFT$(TX.POL$,1)="V" THEN TX.POL%=-1
3070 IF LEFT$(RX.POL$,1)="V" THEN RX.POL%=-1
3080 ON TIMER(60*T.DRAW) GOSUB REDRAW
3090 IF MAP.FLAG% THEN GOSUB LAT.LON.SCRN:GOSUB FETCH.MAP :GOTO RESTORE.SCREEN
3100 CALL PTR86(NSEG,NOFF,VARPTR(NSTORE(0)))
3120 DEF SEG=NSEG:BLOAD "MAPPER.SCR",NOFF:DEF SEG
3500 RESTORE.SCREEN:
3510 TIMER ON
3520 GOSUB GET.DATE:GOSUB LAT.LON.SCRN
3530 CLS:PAINT (0,0),0,7
3540 GOSUB DRAW.TERMINATOR
3550 PUT (XBEGIN,YBEGIN),NSTORE,OR
3560 GOSUB PAINT.OCEANS
3570 GOSUB DRAW.LAT.LON
3580 LOCATE 25,1:FOR I=1 TO 9:COLOR 2:PRINT " F"+CHR$(48+I);:COLOR 14:PRINT LEGEND$(I);:NEXT I
4000 MENU:
4010 FOR I=1 TO 9:KEY(I) ON:NEXT I
4020 A$=INKEY$:IF A$="" THEN 4020
4030 FOR I=1 TO 9:KEY(I) OFF:NEXT I
4040 ON OP% GOTO 4100,4200,4300,4500,4600,4700,4800,4400,4900
4100 'LOCATION BY PREFIX
4110 GOSUB GET.PREFIX :IF K>0 THEN GOTO PATH.CALCULATION
4120 GOSUB DELAY:GOTO MENU
4200 'LOCATION BY COUNTRY NAME
4210 GOSUB GET.COUNTRY :IF K>0 THEN GOTO PATH.CALCULATION
20030 PR.BEST=-1000:N.BEST=1:NO.PATH%=-1:FOR I=1 TO NFREQ:IF FREQ(I)<1.2*F.MUF AND PR(I)>PR.BEST THEN PR.BEST=PR(I):N.BEST=I
20040 IF PR(I)>-20 AND FREQ(I)>.8*F.LUF AND FREQ(I)<1.2*F.MUF THEN NO.PATH%=0:PRINT USING "##.# ###.# ###.# #### ";FREQ(I),-REF.LOSS(I),ABSORB.LOSS(I),PR(I)
20045 IF PR(I)>-20 AND FREQ(I)>.8*F.LUF AND FREQ(I)<1.2*F.MUF THEN NO.PATH%=0:PRINT USING " ###.# ###.# ";-TX.LOSS(I),-RX.LOSS(I)
20050 NEXT I:I=N.BEST
20054 IF NO.PATH% THEN PRINT USING "##.# ###.# ###.# #### ";FREQ(I),-REF.LOSS(I),ABSORB.LOSS(I),PR(I)
20056 IF NO.PATH% THEN PRINT USING " ###.# ###.# ";-TX.LOSS(I),-RX.LOSS(I)
20060 IF NO.PATH% THEN PRINT:PRINT "No Feasible Freq"
20062 IF NO.PATH% THEN PRINT "Best of Bad Lot is Shown"
20070 RETURN
35000 SUB REFLECT(ELEV,WAVE.LEN,SEA%,RMAGV,VPHASE,RMAGH,HPHASE,REFLECT.LOSS) STATIC
35010 'REFLECTION COEFFICIENT CALCULATION
35020 SHARED CNV,PI
35030 IF SEA% THEN ER=80:EI=-60*WAVE.LEN*4:DH=4 ELSE ER=15:EI=-60*WAVE.LEN*.01:DH=10